/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package eu.livotov.tdv.core;

import com.vaadin.ui.VerticalLayout;
import eu.livotov.tpt.gui.widgets.TPTMultiView.TPTView;

/**
 * Abstract page rendered UI component to be used internally by TDV. One might be interested extending this class
 * when adding new page display modes to the TDV.
 * @author dlivotov
 */
public abstract class PageRenderer extends VerticalLayout implements TPTView
{

    /**
     * Navigates to the specified page
     * @param number page number from 1 to max.
     */
    public abstract void goPage( int number );

    /**
     * Sets the specified zoom
     * @param zoom zoom value in percent, from 0.0 to x.y, where 1.0 is 100%
     */
    public abstract void setZoom ( float zoom );

    /**
     * Sets the specified rotation
     * @param rotation rotation angle in degrees
     */
    public abstract void setRotation ( int rotation );
    
}
